package w83b.w83bOperacionesPaso.w83bMantenimientos.w83bVoces;

import java.util.ArrayList;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.lang.StringUtils;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import w83b.w83bBeans.W83bVocesBean;
import w83b.w83bUtilidades.W83bUtilidadesComunes;
import w83b.w83bUtilidadesComunes.W83bClsConstantes;
import es.ejie.frmk.presentacion.operacion.paso.Q70ActionPasoOP;
import es.ejie.frmk.presentacion.sesiondatos.Q70ContextoEJIE;

public class W83bTablaVocesOPAction extends Q70ActionPasoOP{



	protected void processOP(Q70ContextoEJIE contexto, ActionErrors errores,
			ActionMapping mapping, ActionForm form, HttpServletRequest request,
			HttpServletResponse response) throws Exception {

		//Guardamos la accion en el contexto
		contexto.set("action",request.getParameter("action"));

		W83bVocesBean vozBean = (W83bVocesBean)contexto.get("w83bVocesBean");
		if((StringUtils.isEmpty((String)contexto.get("modoPantalla"))
				||W83bClsConstantes.MODO_BUSQUEDA.equals(contexto.get("modoPantalla")))){
			if("true".equals(request.getParameter(W83bClsConstantes.RIA_SEARCH))){
					vozBean = new W83bVocesBean();
					vozBean.setCodVoz(request.getParameter("w83bVocesBean.codVoz"));
					vozBean.setTipoVozDesc(request.getParameter("w83bVocesBean.tipoVozDesc"));
					vozBean.setCodTipoVoz(request.getParameter("w83bVocesBean.codTipoVoz"));					
					vozBean.setDescVoz(request.getParameter("w83bVocesBean.descVoz"));
					vozBean.setDescVozEusk(request.getParameter("w83bVocesBean.descVozEusk"));
					if(StringUtils.isNotEmpty(request.getParameter("w83bVocesBean.baja"))){
						vozBean.setBaja(W83bClsConstantes.BAJA);
					}
		
					vozBean = (W83bVocesBean)W83bUtilidadesComunes.inicializarPaginador(request, vozBean);
					vozBean.setPage("1");
					contexto.set("w83bVocesBean",vozBean);
			}else{
				vozBean = (W83bVocesBean)W83bUtilidadesComunes.inicializarPaginador(request, vozBean);
				
				contexto.set("w83bVocesBean",vozBean);
			}
		}else if("sord".equals(request.getParameter("action"))){
			vozBean = (W83bVocesBean)W83bUtilidadesComunes.inicializarPaginador(request, vozBean);			
			contexto.set("w83bVocesBean",vozBean);
		}else if(StringUtils.isEmpty(((W83bVocesBean)contexto.get("w83bVocesBean")).getSort())){
			vozBean = (W83bVocesBean)W83bUtilidadesComunes.inicializarPaginador(request, vozBean);			
			contexto.set("w83bVocesBean",vozBean);
		}

	}


	protected ActionForward processForward(Q70ContextoEJIE contexto,
			ActionErrors errores, ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) throws Exception {

		String action = (String)contexto.get("action");

		W83bVocesBean vozBean = (W83bVocesBean)contexto.get("w83bVocesBean");

		vozBean.setIdioma((String)contexto.get(W83bClsConstantes.CONSTANTE_CONTEXTO_IDIOMA));

		contexto.set("w83bVocesBean", vozBean);

		if(null==(ArrayList)contexto.get("w83bListaVoces")){	
			contexto.set("w83bListaVoces", new ArrayList());
		}
		if ("find".equals(action)||"sord".equals(action)){
			//Si vengo de una pantalla anterior tengo que mirar si he realizado una búsqueda anterior
			if(StringUtils.isEmpty((String)contexto.get("modoPantalla"))
					||W83bClsConstantes.MODO_BUSQUEDA.equals(contexto.get("modoPantalla"))){
				return mapping.findForward("find");
			}else{
				contexto.set("modoPantalla",W83bClsConstantes.MODO_BUSQUEDA);
				if("voces".equals((String)contexto.get("subOpFlag"))){
					contexto.set("migas","inicio.mantenimiento.voces");
				}
				if("true".equals((String)contexto.get("busqRealizada"))){
					return mapping.findForward("find");					
				}
			}
		}

		return mapping.findForward("ok");		
	}


	
}
